package com.explorati.set;

/**
 * 基于二分搜索树的集合类
 * java中是使用红黑树实现的集合，本质都是有序集合(元素具有顺序性)   都是基于搜索树实现的 有序的集合
 * 链表实现的是无序的集合(元素没有顺序性),Java中使用的是哈希表  基于哈希表的实现  无序的集合
 * 
 * @author explorati
 *
 * @param <E>
 */
public class BSTSet<E extends Comparable<E>> implements Set {

	private BST<E> bst;

	public BSTSet() {
		bst = new BST<>();
	}

	@Override
	public void add(Object e) {
		bst.add((E) e);
	}

	@Override
	public void remove(Object e) {
		bst.remove((E) e);
	}

	@Override
	public boolean contains(Object e) {
		return bst.contains((E) e);
	}

	@Override
	public int getSize() {
		return bst.getSize();
	}

	@Override
	public boolean isEmpty() {
		return bst.isEmpty();
	}

}
